# coding=utf-8
'''
如果列表a表示10点到12点的每一分钟的气温，如何绘制折线图
观察每分钟气温的变化情况
a = [random.randint(20,35) for i in range(120)]
'''
import random

from matplotlib import pyplot as plt
from matplotlib import font_manager
import matplotlib

# 用系统自带的字体
font = {'family': 'MicroSoft YaHei',
        'weight': 'bold',
        'size': '18'}
matplotlib.rc('font', **font)
matplotlib.rc('font', family='MicroSoft YaHei', weight='bold', size='14')

# 自定义字体
# my_font = font_manager.FontProperties(fname=r"G:\tool\win\400dzzt\字体\手写\Young Love ES.ttf")

x = range(0, 120)
y = [random.randint(20, 35) for i in range(120)]

# 设置图片大小
plt.figure(figsize=(20, 8), dpi=80)

# 调整x轴的刻度，让数字与字符串一一对应，显示在x轴上
# _x = x
# _xtick_labels = ["hello,{}".format(i) for i in _x]
# plt.xticks(_x, _xtick_labels)

# 上面的刻度太密集，有字符串的情况下压根看不清楚，这时可以调整其步长
# _x = list(x)[::10]
# _xtick_labels = ["hello,{}".format(i) for i in _x]
# plt.xticks(_x, _xtick_labels)

plt.plot(x, y)

# 按时钟来显示
_x = list(x)
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
# plt.xticks(_x[::3], _xtick_labels[::3], rotation=45, fontproperties=my_font)
plt.xticks(_x[::3], _xtick_labels[::3], rotation=45)

#添加描述信息
plt.xlabel("时间")
plt.ylabel("温度 单位（度）")
plt.title("10点到12点每分钟的气温变化情况")

plt.savefig('./气温变化2.png')
plt.show()
